package org.puc.enquete.bean;

import java.io.Serializable;
import java.util.Date;

/**
 * Esta classe representa a entidade ENQUETE do banco de dados
 */
public class Enquete implements Serializable {

    private Integer id;
    private Integer usuario;
    private String titulo;
    private String descricao;
    private Date dataPublicacao;
    private Date dataEncerramento;

    public Enquete() {
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public Date getDataPublicacao() {
        return dataPublicacao;
    }

    public void setDataPublicacao(Date dataPublicacao) {
        this.dataPublicacao = dataPublicacao;
    }

    public Date getDataEncerramento() {
        return dataEncerramento;
    }

    public void setDataEncerramento(Date dataEncerramento) {
        this.dataEncerramento = dataEncerramento;
    }

    public Integer getUsuario() {
        return usuario;
    }

    public void setUsuario(Integer usuario) {
        this.usuario = usuario;
    }
    
    /**
     * Uma enquete está ativa se a data atual é >= à data de publicação
     * e <= à data de encerramento
     * Este método retorna TRUE se ela estiver ativa
     */
    public boolean estaAtiva() {
        Date hoje = new Date();
        if (dataPublicacao != null && dataEncerramento != null
                && (hoje.compareTo(dataPublicacao) >= 0
                || hoje.compareTo(dataEncerramento) <= 0)) {
            return true;
        }
        return false;
    }

}
